Nonvolatile memory devices retain their data stored in memory cells even without a power supply. Flash memory is a type of nonvolatile memory device this is widely used in computers, memory cards, and so forth, because of its ability to program and erase individual memory cells.
Flash memories are generally classified into NOR and NAND types. A NOR flash memory has a memory cell array in which more two cell transistors are connected to in parallel to a bitline. Data is stored by means of channel hot electron effects and erased means of the Fowler-Nordheim (F-N) tunneling effect. A NAND flash memory has a memory cell array in which more than two cell transistors are connected in series with a bitline. Data in a NAND flash memory is both stored and erased by means of the F-N tunneling effect. In general, NOR flash memory is capable of high frequency operation, but its high power consumption is disadvantageous when used in highly integrated devices. NAND flash memory, on the other hand, is advantageous for high integration levels because it consumes low levels of cell current.
The memory cell array of a NOR flash memory is composed of banks, each bank having multiple sectors. Each sector, in turn, includes multiple memory cells. In a NOR flash memory, cells are erased in entire sectors and programmed in words (or bytes).
In programming data into a NOR flash memory, a program command is first applied to the memory device, followed by program addresses and data. The program addresses and data are temporarily stored in the memory device, as well as a memory cell assigned to the program address. A program voltage corresponding to the program data is applied to the bitline, and then an actual programming operation is carried out. After an initial program execution time, verification operation is performed to determine whether the selected memory cell has been successfully programmed. Such programming and verification operations are repeated until the selected memory cell is completely programmed.
In a usual method for programming NOR flash memory by channel hot electron injection, a high voltage of about 4˜6V is applied to the drain of the memory cell. Applying this high voltage to the cell requires a relatively high program current over a predetermined level. Since the high voltage applied to the drain is generated by a charge pump embedded in the NOR flash memory chip, the number of memory cells that can be programmed at the same time is generally restricted two or four due to the limited generation capacity of the charge pump. This limited program capacity results in increased programming times. For example, if a 16-bit word of data must be programmed, but the maximum simultaneous program capacity of the embedded charge pump is 4 bits, the word must be divided into 4 groups of 4 bits, and the programming operation must be repeated four times.
Prior to programming data into a flash memory, the memory array, or some portion thereof, is erased by setting all memory cells to a logic ‘1’. Thus, to program data into a flash memory, only those cells that are to be changed to logic ‘0’ actually need to be programmed. However, most flash memories are designed to spend the same amount programming each cell regardless of the value of data being programmed.